#ifndef EDITPREFERENCES_H
#define EDITPREFERENCES_H

//(*Headers(EditPreferences)
#include <wx/notebook.h>
#include <wx/sizer.h>
#include <wx/stattext.h>
#include <wx/textctrl.h>
#include <wx/checkbox.h>
#include <wx/spinctrl.h>
#include <wx/panel.h>
#include <wx/button.h>
#include "scrollingdialog.h"
//*)

// XML Documents
#include <wx/xml/xml.h>

#include "tools/SkipfishToolHandler.h"

class EditPreferences: public wxScrollingDialog
{
	public:

		EditPreferences(wxWindow* parent, SkipfishConfigData *defaultProfile ,wxWindowID id=wxID_ANY,const wxPoint& pos=wxDefaultPosition,const wxSize& size=wxDefaultSize);
		virtual ~EditPreferences();

		//(*Declarations(EditPreferences)
		wxStaticText* StaticText10;
		wxStaticText* StaticText9;
		wxSpinCtrl* SkipfishTotalRequestTimeoutSpinCtrl;
		wxNotebook* Notebook1;
		wxStaticText* StaticText2;
		wxSpinCtrl* SkipfishMaxHTTPFailsSpinCtrl;
		wxSpinCtrl* SkipfishMaxDepthSpinCtrl;
		wxStaticText* StaticText6;
		wxCheckBox* SkipfishDontLearnNewWordsForTheSiteCheckBox;
		wxStaticText* StaticText8;
		wxPanel* Panel1;
		wxStaticText* StaticText1;
		wxStaticText* StaticText3;
		wxButton* SkipfihBrowseButton;
		wxSpinCtrl* SkipfishMaxTotalRequestSpinCtrl;
		wxCheckBox* SkipfishDontUpdateWordlistCheckBox;
		wxStaticText* StaticText5;
		wxStaticText* StaticText7;
		wxTextCtrl* SkipfishPasswordTextCtrl;
		wxTextCtrl* SkipfishUsernameTextCtrl;
		wxCheckBox* SkipfishLogWarningsAboutMixedContentCheckBox;
		wxTextCtrl* SkipfishWriteOutputToTextCtrl;
		wxButton* SkipfishLoadWordlistBrowseButton;
		wxStaticText* StaticText4;
		wxButton* CancelButton;
		wxCheckBox* SkipfishDontDescendInto5xxCheckBox;
		wxTextCtrl* SkipfishLoadWordlistTextCtrl;
		wxButton* SaveButton;
		wxSpinCtrl* SkipfishMaxGlobalTCPConnectionsSpinCtrl;
		wxTextCtrl* SkipfishCustomCookieTextCtrl;
		//*)

	protected:

		//(*Identifiers(EditPreferences)
		static const long ID_STATICTEXT1;
		static const long ID_TEXTCTRL1;
		static const long ID_STATICTEXT2;
		static const long ID_TEXTCTRL2;
		static const long ID_STATICTEXT3;
		static const long ID_TEXTCTRL3;
		static const long ID_STATICTEXT4;
		static const long ID_SPINCTRL1;
		static const long ID_STATICTEXT5;
		static const long ID_SPINCTRL2;
		static const long ID_CHECKBOX1;
		static const long ID_STATICTEXT6;
		static const long ID_TEXTCTRL4;
		static const long ID_BUTTON3;
		static const long ID_CHECKBOX2;
		static const long ID_STATICTEXT7;
		static const long ID_TEXTCTRL5;
		static const long ID_BUTTON4;
		static const long ID_CHECKBOX3;
		static const long ID_CHECKBOX4;
		static const long ID_STATICTEXT8;
		static const long ID_SPINCTRL3;
		static const long ID_STATICTEXT9;
		static const long ID_SPINCTRL4;
		static const long ID_STATICTEXT10;
		static const long ID_SPINCTRL5;
		static const long ID_PANEL1;
		static const long ID_NOTEBOOK1;
		static const long ID_BUTTON1;
		static const long ID_BUTTON2;
		//*)

	private:

		//(*Handlers(EditPreferences)
		void OnCancelButtonClick(wxCommandEvent& event);
		void OnSaveButtonClick(wxCommandEvent& event);
		void OnSkipfihWriteOutputToBrowseButtonClick(wxCommandEvent& event);
		void OnSkipfishLoadWordlistBrowseButtonClick(wxCommandEvent& event);
		//*)

		void LoadDefaultProfileValuesIntoWidgets( SkipfishConfigData *defaultProfile );

		DECLARE_EVENT_TABLE()
};

#endif
